package com.ruoyi.datastatistics.domain.recvdata;

import lombok.Data;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 接受户表数据实体类
 *
 * @author TsingYu
 * @version 1.0
 * @date 2025/2/19 15:04
 */
@Data
@ToString
public class RecvDataXb {

    /**
     * 数据类型，1：实时、2：历史
     */
    private String dataType;
    /**
     * 设备编号
     */
    @NotBlank(message = "设备编号为必须项")
    private String deviceNumber;
    /**
     * 设备厂家
     */
    private String manufacturer;
    /**
     * 客户id（对应集抄tenantId）
     */
    private String clientId;

    private XbData realtimeData;

    private List<XbData> historyData;


    @Data
    @ToString
    public static class XbData{
        /**
         * 平台表单自增主键
         */
        private Long id;
        /**
         * 设备归属水司
         */
        private String tenantId;
        /**
         * 厂家编号
         */
        private String supplierId;
        /**
         * 设备编号
         */
        private String terminalId;
        /**
         * 累计流量
         */
        private BigDecimal totalFlow;
        /**
         * 终端电压
         */
        private BigDecimal terminalVol;
        /**
         * 抄表时间
         */
        private Date readDate;
        /**
         * 正向读数
         */
        private BigDecimal readNumber;
        /**
         * 反向读数
         */
        private BigDecimal reverseNumber;
        /**
         * 终端信号强度
         */
        private Integer terminalCsq;
        /**
         * 阀门状态(0: 关 、1：开)
         */
        private Integer valveState;
        /**
         * 创建时间
         */
        private Date createTime;
        /**
         * ocr抄表图片路径
         */
        private String ocrUrl;
        /**
         * imei
         */
        private String imei;
        /**
         * 数据同步状态，1未同步、2已同步、3同步失败
         */
        private String syncStatus;

        private String locationNb;
    }

}
